package cn.iocoder.yudao.module.resource.api.model;

import lombok.Data;

import java.util.List;

/**
 * 音频数据
 *
 * @author: wds_prc
 * @since: 2024/7/28 15:04
 */
@Data
public class AudioDTO {

    /**
     * 音频唯一id
     */
    private int audioId;
    /**
     * 音频的文件id
     */
    private Long fileId;

    /**
     * 文件本地读取路径
     */
    private String filePath;
    /**
     * 文件域名访问url
     */
    private String fileUrl;
    /**
     * 音频名字
     */
    private String audioName;
    /**
     * 音频文字
     */
    private String audioText;

    /**
     * 标签名称列表
     */
    private List<String> tagNameList;

    /**
     * 关键词名称列表
     */
    private List<String> keywordNameList;

    /***********************************************关联关系***********************************************/

    public static final int RELATION_TYPE_REPLY = 2;
    /**
     * 关联类型，1 默认类型，2，回复类型
     */
    private int relationType;


    /**
     * 关联的内容，类型是1时为空，是2时是ReplyObjectDTO
     */
    private Object relationObject;


    /**
     * 回复类型数据结构
     */
    @Data
    public static class ReplyObjectDTO {
        private List<ReplyItemDTO> replyItemList;

    }

    /**
     * 回复类型的分支条件
     */
    @Data
    public static class ReplyItemDTO {
        // 条件关键词，如果为默认条件时为空
        private List<String> keywordNameList;

        // 如果为默认条件时为true
        private boolean defaultCondition;

        // 触发此条件的回复音频
        private AudioDTO replyAudio;
    }

}
